package com.bugsnag.ohos;

/**
 * Logs internal messages from within the bugsnag notifier.
 *
 * @since 2021-06-29
 */
public interface Logger {
    /**
     * Logs a message at the error level.
     *
     * @param msg
     */
    void e(String msg);

    /**
     * Logs a message at the error level.
     *
     * @param msg
     * @param throwable
     */
    void e(String msg, Throwable throwable);

    /**
     * Logs a message at the warning level.
     *
     * @param msg
     */
    void w(String msg);

    /**
     * Logs a message at the warning level.
     *
     * @param msg
     * @param throwable
     */
    void w(String msg, Throwable throwable);

    /**
     * Logs a message at the info level.
     *
     * @param msg
     */
    void i(String msg);

    /**
     * Logs a message at the info level.
     *
     * @param msg
     * @param throwable
     */
    void i(String msg, Throwable throwable);

    /**
     * Logs a message at the debug level.
     *
     * @param msg
     */
    void d(String msg);

    /**
     * Logs a message at the debug level.
     *
     * @param msg
     * @param throwable
     */
    void d(String msg, Throwable throwable);
}
